package views.features;

import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;

import javax.swing.JLabel;

import views.util.GameColors;

public class InstructionView extends FeatureView {

	private static InstructionView instance;

	public static InstructionView newInstance() {
		if (instance == null)
			instance = new InstructionView();
		return instance;
	}

	private InstructionView() {
		GridLayout grid = new GridLayout(11, 1, 2, 2);
		this.setLayout(grid);
		Font f = new Font("Segoe UI", Font.PLAIN, 14);
		JLabel[] texts = new JLabel[11];
		for (int i = 0; i < texts.length; i++) {
			texts[i] = new JLabel();
			texts[i].setOpaque(true);
			texts[i].setFont(f);
			add(texts[i]);
			texts[i].setForeground(Color.WHITE);
		}
		texts[0].setBackground(GameColors.AZZURRO);
		texts[1].setBackground(GameColors.AZZURRO);
		// texts[0].setForeground(Color.WHITE);
		// texts[1].setForeground(GameColors.AZZURRO_CHIARO);
		texts[0].setText(""
				+ "<html>CONFRONTO RAPIDO<BR>Rispondi sì se l'immagine corrente è uguale a quella precedente, no altrimenti.<BR>"
				+ "Puoi giocare con il mouse o usare i tasti direzioniali: sinistra per il no, destra per il si.</html>");
		texts[1].setText(""
				+ "<html>SCHIACCIA ARANCIA<BR>Inserisci l'arancia in modo che se i due coperchi della scatola si chiudessero, l'arancia non verrebbe schiacciata.<BR>"
				+ "Puoi giocare con il mouse.</html>");
		texts[2].setBackground(GameColors.VERDE);
		texts[3].setBackground(GameColors.VERDE);
		// texts[2].setForeground(GameColors.VERDE_CHIARO);
		// texts[3].setForeground(GameColors.VERDE_CHIARO);
		texts[2].setText(""
				+ "<html>MEMORIZZA TABELLA<BR>Clicca, una volta spente, tutte le caselle che erano illuminate.<BR>"
				+ "Puoi giocare con il mouse.</html>");
		texts[3].setText(""
				+ "<html>LUCE RIFLESSA<BR>Viene mostrata la posizione e l'orientazione degli specchi. Sapendo da dove parte la luce, clicca sull'ultima casella che essa toccherà in seguito alle deviazioni dovute agli specchi. "
				+ "Puoi giocare con il mouse.</html>");
		texts[4].setBackground(GameColors.ARANCIONE);
		texts[5].setBackground(GameColors.ARANCIONE);
		// texts[4].setForeground(GameColors.ARANCIONE_CHIARO);
		// texts[5].setForeground(GameColors.ARANCIONE_CHIARO);
		texts[4].setText(""
				+ "<html>PESCI DISORIENTATI<BR>Tutti i pesci hanno la testa puntata verso una stessa direzione, tranne uno di loro. Se il banco è giallo indica la direzione verso cui punta il pesce disorientato, se rosso quella in cui si muove il banco. "
				+ "Puoi giocare con il mouse o usare i tasti direzioniali.</html>");
		texts[5].setText(""
				+ "<html>SVEGLIA LA TALPA<BR>Clicca sulle talpe addormentate per svegliarle, evitando quelle che sono già sveglie.<BR>"
				+ "Puoi giocare con il mouse.</html>");
		texts[6].setBackground(GameColors.BORDEAUX);
		texts[7].setBackground(GameColors.BORDEAUX);
		// texts[6].setForeground(GameColors.BORDEAUX_CHIARO);
		// texts[7].setForeground(GameColors.BORDEAUX_CHIARO);
		texts[6].setText(""
				+ "<html>COLORI E PAROLE<BR>Rispondi sì se il colore del carattere usato per scrivere la parola in altro è proprio quello che viene indicato dalla parola in basso. "
				+ "Puoi giocare con il mouse o usare i tasti direzioniali: sinistra per il no, destra per il si.</html>");
		texts[7].setText(""
				+ "<html>GOCCE DI PAROLE<BR>Aggiungi lettere a quelle iniziali che ti vengono proposte, per formare parole di senso compiuto.<BR>"
				+ "Puoi giocare con la tastiera.</html>");
		texts[8].setBackground(GameColors.VIOLA);
		texts[9].setBackground(GameColors.VIOLA);
		// texts[8].setForeground(GameColors.VIOLA_CHIARO);
		// texts[9].setForeground(GameColors.VIOLA_CHIARO);
		texts[8].setText(""
				+ "<html>MEMORIA ORDINATA<BR>Clicca le caselle in base all'ordine crescente dei numeri che in esse ti sono stati mostrati.<BR>"
				+ "Puoi giocare con il mouse.</html>");
		texts[9].setText(""
				+ "<html>PALLONCINI MATEMATICI<BR>Fai esplodere i palloncini scrivendo il risultato della loro espressione, prima che raggiungano le nuvole. "
				+ "Puoi giocare con la tastiera.<BR>-</html>");
	}

}
